#ifndef _HALOBJECTS_H_
#define _HALOBJECTS_H_

#define OUT_GROUP2      0
#define OUT_GROUP1      1
#define OUT_STROBE      2
#define OUT_KEYSELECT   3
#define OUT_BUZZER      4
#define OUT_HEATER      5
#define OUT_SPEED2      6
#define OUT_SPEED1      7
#define OUT_DATAC       8
#define OUT_DATAB       9
#define OUT_DATAA       10
#define OUT_MOTOR_RL    11
#define OUT_SOAP1       12
#define OUT_SINK        13
#define OUT_DRAIN       14
#define OUT_LOCK        15
#define IN_W2           16
#define IN_W1           17
#define IN_T2           18
#define IN_T1           19
#define IN_IN3          20
#define IN_IN2          21
#define IN_IN1          22
#define IN_IN0          23

#include "HALinput.h"
#include "HALoutput.h"
#include <Centipede.h>

class HalObjects
{
private:
  static bool instanceFlag;
  static HalObjects *single;
  static HALinput *halInput;
  static HALoutput *halOutput;
  static void setVars(void);
  HalObjects()
  {
    //private constructor
  }
public:
  static HalObjects* getInstance();
  static HALinput* getHalInput();
  static HALoutput* getHalOutput();
  ~HalObjects()
  {
    instanceFlag = false;
  }
};


#endif


